package cn.core.conf.service.intf;

import cn.core.conf.eo.Conf;
import cn.core.conf.qo.ConfQO;
import cn.core.conf.vo.ConfVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 系统配置 服务接口
 */
public interface IConfService {

  /**
   * 系统配置 >>> 保存
   */
  public Conf save(Conf eo) throws Exception;

  /**
   * 系统配置 >>> 批量保存
   */
  public Collection<Conf> saveBatch(Collection<Conf> eos) throws Exception;

  /**
   * 系统配置 >>> 修改
   */
  public Conf update(Conf eo) throws Exception;

  /**
   * 系统配置 >>> 批量修改
   */
  public Collection<Conf> updateBatch(Collection<Conf> eos) throws Exception;

  /**
   * 系统配置 >>> 删除
   */
  public void remove(Conf eo) throws Exception;

  /**
   * 系统配置 >>> 批量删除
   */
  public void removeBatch(Collection<Conf> eos) throws Exception;

  /**
   * 系统配置 >>> 数据量
   */
  public Long count(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 主键查询
   */
  public Conf pk(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 查询
   */
  public Collection<Conf> query(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 分页
   */
  public Paging<Conf> paging(Param<ConfQO> param) throws Exception;

  /**
   * 系统配置 >>> 业务数据量
   */
  public Long countVo(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 业务主键查询
   */
  public ConfVO pkVo(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 业务查询
   */
  public Collection<ConfVO> queryVo(ConfQO qo) throws Exception;

  /**
   * 系统配置 >>> 业务分页
   */
  public Paging<ConfVO> pagingVo(Param<ConfQO> param) throws Exception;

}
